# -*- coding: utf-8 -*-

# 编写一个函数来查找字符串数组中的最长公共前缀

# 如果不存在公共前缀，返回空字符串 ""

# 示例 1:
# 输入: ["flower","flow","flight"]
# 输出: "fl"

# 示例 2:
# 输入: ["dog","racecar","car"]
# 输出: ""
# 解释: 输入不存在公共前缀

import sys;

class Solution(object):
    def longestCommonPrefix(self, strs):
        """
        :type strs: List[str]
        :rtype: str
        """
        if len(strs) == 0:
            return "";
        if len(strs) == 1:
            return strs[0];
        rtn = "";
        shortest_length = sys.maxint;
        for i in xrange(0,len(strs)):
            if len(strs[i]) < shortest_length:
                shortest_length = len(strs[i]);
        for i in xrange(0, shortest_length):
            for j in xrange(0, len(strs) - 1):
                if strs[j][i] != strs[j + 1][i]:
                    j -= 1;
                    break;
            if j == len(strs) - 2:
                rtn += strs[0][i];
            else:
                break;
        return rtn;

t = Solution();
print t.longestCommonPrefix(["a"]);
